#ifndef IBUFFER_H
#define IBUFFER_H

#include "GL/glew.h"

namespace glow
{
	
class IBuffer
{
	public:
	
		virtual ~IBuffer() {}
		
		/** Push data into the buffer */
		virtual void push(void * data, unsigned int size) = 0;

		/** Get the type of data stored */
		virtual GLenum getBufferType() const = 0;

		/** get the Buffer size */
		virtual unsigned int getBufferSize() = 0;
		
		/** \return OpenGL buffer id */
		virtual GLuint getGLID() const = 0;
		
	private:
	
};

}

#endif
